package com.xiaoming.backend.dao;

import com.xiaoming.backend.entity.db.po.OrderPO;
import com.xiaoming.backend.entity.orm.Order;
import com.xiaoming.backend.entity.orm.Task;

import java.util.Date;
import java.util.List;

public interface IOrderDao {
    int insertOrder(OrderPO orderPO);

    /**
     * 更具订单查找订单id
     * @param orderPO 订单
     * @return 订单id
     */
    int getOrderId(OrderPO orderPO);

    /**
     * 根据条件查找订单
     * @param disposqlUserId 处理人id
     * @param crtdUserId 登记人id
     * @param status 状态
     * @param startFacilityId 来源工厂
     * @param endFacilityId 处理工厂
     * @param disposqlStartDate 处理时间start
     * @param disposqlEndDate 处理时间end
     * @param crtdStartDate 登记时间start
     * @param crtdEndDate 登记时间end
     * @return
     */
    List<Order> getOrderInfo(Long disposqlUserId, Long crtdUserId, String status, Long startFacilityId,Long endFacilityId,
                             Date disposqlStartDate, Date disposqlEndDate, Date crtdStartDate, Date crtdEndDate);

    int uptWaste(Integer orderId, String status,Long disposqlUserId, String remark, String disposqlProgress, Long startFacilityId, Long endFacilityId, Long wasteType, Long disposalMethod);

    String getMedicalOrderCount(Long userId);
    String getMedicalOrderCount(Long userId, Date date);

    String getHandleOrderCount(Long userId);
    String getHandleOrderCount(Long userId, Date date);

    Long getOrderAdminCount(Long facilityId);
    Long getOrderAdminCount(Long facilityId, Date date);
}
